An Integrated Aspect-oriented Model-driven Development Toolsuite for Distributed Real-time and Embedded Systems
نویسندگان
چکیده
Model-driven development (MDD) has been gaining importance as an approach to resolving lifecycle challenges of large-scale distributed real-time and embedded (DRE) systems (e.g., joint emergency response systems, avionics, and automotive systems), including design, development, testing, maintenance and evolution. DRE systems are characterized by their stringent requirements for quality of service (QoS), such as predictable end-to-end latencies, timeliness and scalability. Delivering the QoS needs of DRE systems entails the need to configure correctly, fine tune and provision the infrastructure used to host the DRE systems, which crosscuts different layers of middleware, operating systems and networks. Addressing these tangled deployment and configuration concerns of DRE systems requires integrating the principles of Aspect-Oriented Software Design (AOSD) with MDD. This paper describes the integration of the C-SAW aspect weaving tool with the CoSMIC MDD tool suite to resolve the accidental complexities involved in the configuration and deployment of component middleware-based DRE systems. 1. Challenge Problems Quality of service (QoS)-enabled component middleware, such as lightweight CORBA Component Model (CCM) (and to some extent J2EE and .Net for the domains they are used in) are increasingly being used to develop and control mission-critical, large-scale DRE systems. Figure 1 illustrates a representative DRE system highlighting a joint emergency response system. DRE systems share the following characteristics giving rise to tangled concerns in its development and maintenance lifecycle: 1. Heterogeneity. Large-scale DRE systems often run on a variety of computing platforms that are interconnected by different types of networking technologies with varying QoS properties. The efficiency and predictability of DRE systems built using different infrastructure components varies according to the type of computing platform and interconnection technology. 2. Deeply embedded properties. DRE systems are frequently composed of multiple embedded subsystems. For example, an anti-lock braking software control system forms a resource-constrained subsystem that is part of a larger DRE application controlling the overall operation of an automobile. 3. Simultaneous support for multiple QoS properties. DRE software controllers are increasingly replacing mechanical and human control of critical systems. These controllers must simultaneously support many challenging QoS constraints, including (1) real-time requirements, such as low latency and bounded jitter, (2) availability requirements, such as fault propagation/recovery across distribution boundaries, (3) security requirements, such as appropriate authentication and authorization, and (4) physical requirements, such as limited weight, power consumption, and memory footprint. For example, a distributed patient monitoring system requires predictable, reliable, and secure monitoring of patient health data that can be distributed in a timely manner to healthcare providers. 4. Large-scale, network-centric operation. The scale and complexity of DRE systems makes it infeasible to deploy them in disconnected, standalone configurations. The functionality of DRE systems is therefore partitioned and distributed over a range of networks. For example, an urban bio-terrorist evacuation capability requires highly distributed functionality involving networks connecting command and control centers with bio-sensors that collect data from police, hospitals, and urban traffic management systems. 5. Dynamic operating conditions. Operating conditions for large-scale DRE systems can change dynamically, resulting in the need for appropriate adaptation and resource management strategies for continued successful system operation. In civilian contexts, for instance, power outages underscore the need to detect failures in a timely manner and adapt in real-time to maintain mission-critical power grid operations. In military contexts, likewise, a mission mode change or loss of functionality due to an attack in combat operations requires adaptation and resource reallocation to continue with mission-critical capabilities. 2. Concern Separation using Model-Driven Development MDD technologies, such as the Object Management Group (OMG)’s Model-driven Architecture (MDA), have emerged to address the different lifecycle challenges of DRE systems outlined above, which includes satisfying both the functional and QoS needs of DRE systems during design, development, testing, maintenance, and evolution stages. Figure 2 illustrates how a MDD tool chain coordinates with design-time analysis tools and run-time infrastructure (such as middleware, OS and networks) to address DRE system lifecycle challenges described below: • Specification and implementation, which enables application functionality specification, partitioning, and implementation as components. • Packaging, which allows bundling a suite of software binary modules and metadata representing application components. • Installation, which involves populating a repository with the packages required by the application. • Configuration, which allows configuration of the packages with the appropriate parameters to satisfy the functional and systemic requirements of application without constraining to any physical resources. Figure 1. Sample DRE System • Planning, which makes appropriate deployment decisions including identifying the entities, such as CPUs, of the target environment where the packages will be deployed. • Preparation, which moves the binaries to the identified entities of the target environment. • Launching, which triggers the installed binaries and brings the application to a ready state. • Adaptation, which enables run-time reconfiguration and resource management to maintain end to-end QoS. Figure 2 also demonstrates how the various stages of the DRE systems lifecycle are tangled with different layers of the infrastructure that host the DRE systems. MDD tools in association with AOSD techniques can assist in untangling the crosscutting concerns at each stage of the DRE lifecycle, which helps improve productivity and time-to-market. 3. Applying AOSD Principles to MDD Toolsuites This section showcases how the CoSMIC MDD tool suite is used in conjunction with the C-SAW model weaver to address the tangled concerns encountered in the DRE system lifecycle. We briefly describe the two tools and show how we are integrating them to resolve DRE system lifecycle challenges. 3.1 The CoSMIC MDD Tool suite The deployment and configuration of middleware typically involves manual modification to meta-data that is split across multiple XML descriptors. A key evolution and change management Figure 2: DRE Systems Lifecycle Stages problem exists because of the inter-dependencies and crosscutting between descriptors, and the fact that manual modification of large XML files is error-prone. The Component Synthesis with Model Integrated Computing (CoSMIC) [3] tools (available at http://www.dre.vanderbilt.edu/cosmic /) are developed using the Generic Modeling Environment (GME) [6], which is a metamodeling environment that defines the modeling paradigms for each stage of the CoSMIC tool chain. The CoSMIC MDD toolsuite illustrated in Figure 3 is a collection of domain-specific modeling languages (DSMLs) and generative tools to address the concerns at different stages of DRE systems lifecycle shown in Figure 2. The CoSMIC tools use GME to enforce their “correct by construction” techniques, as opposed to the “construct by correction” techniques commonly used by post-construction tools, such as compilers, source-level debuggers, and script validators. CoSMIC ensures that the rules of construction – and the models constructed according to these rules – can evolve together over time. Each CoSMIC tool synthesizes metadata in XML for use in the underlying middleware. The CoSMIC tool suite currently uses a platform-specific model approach that integrates the modeling technology with QoS-enabled component middleware, such as CIAO [1] (available at http://www.cs.wustl.edu/~schmidt/CIAO.html). CoSMIC provides the capability to inter work with third party model checking tools, such as Cadena from Kansas State University [5], and aspect model weavers, such as C-SAW [4]. 3.2 Aspect Weaving at the Modeling Level We have discovered that many properties and policies within a DRE system (e.g., eager/lazy evaluation, processor assignment policies, component placement, and QoS policies) crosscut the Figure 3: CoSMIC MDD Tool suite
منابع مشابه
An aspect-oriented model-driven engineering approach for distributed embedded real-time systems
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
متن کاملA Model-driven Development Environment for Composing and Validating Distributed Real-time and Embedded Systems: A Case Study
Model-driven development (MDD) processes are increasingly being used to develop component middleware and applications for distributed real-time and embedded (DRE) systems in various domains. DRE applications are often missioncritical and have stringent quality of service (QoS) requirements, such as timeliness, predictability and scalability. MDD software techniques are well suited for validatin...
متن کاملApplying model-driven development to distributed real-time and embedded avionics systems
Model-driven development (MDD) is an emerging paradigm that uses domain-specific modeling languages (DSMLs) and generative technologies to provide “correct-by-construction” capabilities for many software development activities. This paper provides two contributions to the study of applying MDD to distributed real-time and embedded (DRE) systems that use standards-based quality of service (QoS)-...
متن کاملApplication of Aspect-based Modeling and Weaving for Complexity Reduction in Development of Automotive Distributed Real-time Embedded System
To meet the stringent resource and costs constraints in developing modern automotive embedded electronic systems requires careful consideration of various aspects, such as the target hardware structure, component collaboration model, and timing models. An emerging trend in automotive systems is to apply Model-Driven Development (MDD) to understand and formalize these aspects. The growing size a...
متن کاملDERAF: A High-Level Aspects Framework for Distributed Embedded Real-Time Systems Design
Distributed Embedded Real-time Systems (DERTS) have several requirements directly related to characteristics that are difficult to handle when a pure object-oriented method is used for their development. These requirements are called Non-Functional Requirements (NFR) and refer to orthogonal properties, conditions, and restrictions that are spread out over the system. Pure object-oriented method...
متن کاملAn Infrastructure for UML-Based Code Generation Tools
The use of Model-Driven Engineering (MDE) techniques in the domain of distributed embedded real-time systems are gain importance in order to cope with the increasing design complexity of such systems. This paper discusses an infrastructure created to build GenERTiCA, a flexible tool that supports a MDE approach, which uses aspect-oriented concepts to handle nonfunctional requirements from embed...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005